package com.hjr.leetcode.question600;

import com.hjr.leetcode.util.SimpleAES;

import java.util.HashMap;
import java.util.Random;
import java.util.UUID;

/**
 *  TinyURL 的加密与解密
 * TinyURL 是一种 URL 简化服务， 比如：当你输入一个 URL https://leetcode.com/problems/design-tinyurl 时，它将返回一个简化的URL http://tinyurl.com/4e9iAk 。请你设计一个类来加密与解密 TinyURL 。
 *
 * 加密和解密算法如何设计和运作是没有限制的，你只需要保证一个 URL 可以被加密成一个 TinyURL ，并且这个 TinyURL 可以用解密方法恢复成原本的 URL 。
 */
public class q535 {

    public static void main(String[] args) {
        String longUrl = "https://leetcode.com/problems/design-tinyurl";
        String shortUrl = encode(longUrl);
        System.out.println(shortUrl);
        System.out.println(decode(shortUrl));
    }

    static SimpleAES aes = new SimpleAES("1234567890123456");

    // Encodes a URL to a shortened URL.
    public static String encode(String longUrl) {
        return aes.encrypt(longUrl);
    }

    // Decodes a shortened URL to its original URL.
    public static String decode(String shortUrl) {
        return aes.decrypt(shortUrl);
    }

}
